#include<stdio.h>
#include<sys/wait.h>
#include<stdlib.h>

#define MAXL 4096
#define PAGER "${PAGER:-more}"

int main(int argc, char *argv[])
{
	char line[MAXL];
	FILE *fpin, *fpout;

	if(argc != 2)
		err_quit("uage: a.out <pathname>");
	if((fpin = fopen(argv[1], "r")) == NULL)
		err_sys("fopen: %s error", argv[1]);

	if((fpout = popen(PAGER, "w")) == NULL)
		err_sys("popen error");

	while(fgets(line, MAXL, fpin) != NULL)
		if(fputs(line, fpout) == EOF)
			err_sys("fputs error to pipe");

	if(ferror(fpin))
		err_sys("fgets error");
	if(pclose(fpout) == -1)
		err_sys("pclose error");

	exit(0);
}
